<?php namespace Admin\Controller; 
use Common\Model\GoodsList;
/*
*货品列表表控制器
*田昭鹏
*
*/
class GoodsListController extends CommonController{
    protected $data;
	//构造函数
	public function __init()
	{
        // 实例化模型
        $this->data=new GoodsList;
        // 继承父级构造函数
        parent::__init();
	}

    // 货品列表
    public function index(){
        if(IS_POST){
            // 跳转模型添加
            $result=$this->data->store();
            // var_dump($result);
            if(!$result){
                View::error($this->data->getError());
            }else{
               View::success('添加成功');
            }
        }
        // p($_GET);die;
        // 获得商品规格
        $gid=Q('get.gid',0,'intval');
        View::with('gid',$gid);
        $type=Db::table('type_attr')->join('goods_attr','taid','=','type_attr_taid')->where('class',2)->where('goods_gid',$gid)->orderBy('taid','ASC')->get();
        // var_dump($type);
        // 重组数组
        // 声明空数组
        $typeData=array();
        foreach ($type as $k => $v) {
            $typeData[$v['taname']][]=$v;
        }
        // p($typeData);
        View::with('typeData',$typeData);

        // 页面显示
            //调取数据 
        $arr=$this->data->where('goods_gid',$gid)->orderBy('glid','ASC')->get();
        // p($arr);
            // 序号转换成数组
        foreach($arr as $k=>$v){
            $arr[$k]['combine']=explode('|', $v['combine']);
        }
            // 修改字段  序号转换成属性值
        foreach ($arr as $k=>$v){
            foreach($v['combine'] as $kk=>$vv){
                $arr[$k]['combine'][$kk]=Db::table('goods_attr')->where('gaid',$vv)->pluck('gavalue');
            }
        }
        // p($arr);
        View::with('arr',$arr);

        View::make();
    }
	

    // 编辑方法
    public function edit(){
        // 判断提交
        if(IS_POST){
            $result=$this->data->edit();
            if(!$result){
                View::error($this->data->getError());
            }else{
               View::success('编辑成功',U('index',array('gid'=>$_POST['goods_gid'])));
            }
        }
        // 页面显示  编辑的数据
        $glid=Q('get.glid',0,'intval');
        View::with('glid',$glid);
            //调取数据 
        $arr=$this->data->where('glid',$glid)->find();
        // p($arr);
            // 序号转换成数组
        $arr['combine']=explode('|', $arr['combine']);
        // p($arr);
        View::with('arr',$arr);


        // 获得商品规格
        $gid=$arr['goods_gid'];
        View::with('gid',$gid);
        $type=Db::table('type_attr')->join('goods_attr','taid','=','type_attr_taid')->where('class',2)->where('goods_gid',$gid)->orderBy('taid','ASC')->get();
        // 重组数组
        // 声明空数组
        $typeData=array();
        foreach ($type as $k => $v) {
            $typeData[$v['taname']][]=$v;
        }
        // p($typeData);
        View::with('typeData',$typeData);

        View::make();
    }

    // 删除方法
    public function del(){
        // 获取序号
       $glid=Q('get.glid',0,'intval');
       // 删除数据库
       $result=$this->data->where('glid',$glid)->delete();

       // 添加库存 商品表
        $sum=$this->data->where('goods_gid',$_GET['goods_gid'])->lists('glstock');
        $stock['stock']=array_sum($sum);
        // 修改goods表
        Db::table('goods')->where('gid',$_GET['goods_gid'])->update($stock);

       if(!$result){
            View::error('删除失败');
       }else{
            View::success('删除成功');
       }
    }

    // 异步方法
    public function ajaxList(){
        if(!IS_AJAX) return FALSE;
        // 声明一个空数组
        $arr=array();
        // 删除末尾结尾符
        foreach ($_POST as $k => $v) {
            $arr["gid"]=$_POST[$k]['gid'];
            $arr['combine']=rtrim($v['combine'],'|');
        }
        // 开始判断 连接数据库
        $result=$this->data->where('goods_gid',$arr['gid'])->where('combine',$arr['combine'])->find();
        // 声明空字符串
        $data='';
        // 赋值
        if(!$result){
            $data=1;
        }else{
            $data=0;
        }
        // 返回值
        View::ajax($data);
    }
}
